package com.hbzjjzx.athlete.athlete.service;


import com.hbzjjzx.athlete.athlete.domain.AtsEmpAthlete;
import com.hbzjjzx.athlete.athlete.utils.Page;

import java.util.List;

/**
 * 运动员信息接口
 */
public interface AtsEmpAthleteService {
    /**
     * 新增或修改
     * @param atsEmpAthlete 运动员信息对象
     * @return 影响行数
     */
    public int saveOrUpdate(AtsEmpAthlete atsEmpAthlete);

    /**
     * 修改是否存在用户标识  由用户那边调用
     * @param atsEmpAthlete
     * @return
     */
    public int updater(AtsEmpAthlete atsEmpAthlete);




    /**
     * 根据运动员id查找
     * @param id
     * @return
     */
    public AtsEmpAthlete findById(int id);

    /**
     * 根据运动员id 查找运动项目
     * @param athleteId
     * @return
     */
    AtsEmpAthlete selectSportName(Integer athleteId);

    /**
     * 查询所有的运动员   带分页
     * @param atsEmpAthlete
     * @param page
     * @return
     */
    public List<AtsEmpAthlete> selectAll(AtsEmpAthlete atsEmpAthlete, Page page);


    /**
     * 查询总行数
     * @param atsEmpAthlete
     * @return
     */
    public int selectCount(AtsEmpAthlete atsEmpAthlete);


    /**
     * 查询所有运动员  不带分页
     * @param atsEmpAthlete
     * @return
     */
    public List<AtsEmpAthlete> findAll(AtsEmpAthlete atsEmpAthlete);

    /**
     * 根据运动教练员ID 查找运动员胡立增加
     * @return
     */
    List<AtsEmpAthlete> selectTree(Integer manId);


    /**
     * 根据科研教练员ID 查找运动员  胡立增加
     * @return
     */
    List<AtsEmpAthlete> selectTrees(Integer manId);


    /**
     * 根据运动教练员查找运动员
     * @param coachId
     * @return
     */
    public List<AtsEmpAthlete> selectByCoachId(Integer coachId);

    /**
     * 根据科研教练员查找运动员
     * @param oldCoachId
     * @return
     */
    public List<AtsEmpAthlete> selectByOldCoach(Integer oldCoachId);

    /**
     * 根据训练项目ID查找运动员
     * @param atsEmpAthlete
     * @return
     */
    public List<AtsEmpAthlete> selectBysportId(AtsEmpAthlete atsEmpAthlete);


    /**
     * 批量删除
     * @param ids
     * @return
     */
    int deleteAll(String ids);

    /**
     * 根据教练员外键查询有多少个运动员
     * @param coachId
     * @return
     */
    List<AtsEmpAthlete> selectFour(int coachId);

    /**
     * 过滤掉数组里面的运动员id
     * @param ids
     * @return
     */
    List<AtsEmpAthlete> findList(List<Integer> ids, Integer coachId);

}
